G05-AxesSymmetry.mws

 

     Eixos de Simetria


Uma exploração dos eixos de simetria de polígonos regulares, e debate sobre o número de eixos.

[Direções : Execute primeiramente a seção Code Resource. Embora não haja output imediato, essas definições serão usadas posteriormente nessa worksheet.]

  0. Código

>    restart; with(plots): with(geometry):

Warning, the name changecoords has been redefined

>    sbl := 'axes = none,   scaling = constrained,
       thickness = 3, color = COLOR(RGB, .5,.4,.8)':
sgy := 'axes = none,   scaling = constrained,
       thickness = 3, color = COLOR(RGB, .5,.5,.6)':
sbe := 'axes = none,   scaling = constrained,
       thickness = 3, color = COLOR(RGB, .8,.7,.5)':
sor := 'axes = none,   scaling = constrained,
       thickness = 3, color = COLOR(RGB, .9,.7,.1)':
sgn := 'axes = none,   scaling = constrained,
       thickness = 3, color = COLOR(RGB, .4,.7,.4)':

>    cbl := 'color = COLOR(RGB, .5,.4,.8)':
cgy := 'color = COLOR(RGB, .5,.5,.6)':
cbe := 'color = COLOR(RGB, .8,.7,.5)':
cor := 'color = COLOR(RGB, .9,.7,.1)':
cyl := 'color = COLOR(RGB, .9,.8,.1)':
cgn := 'color = COLOR(RGB, .5,.8,.5)':

>    scanft := 'scaling = constrained, axes = none':
scanft := 'filled = true, axes = none, scaling = constrained':
scant2 := 'thickness = 2, axes = none, scaling = constrained':

>   

>    point(o,0,0);
circle( UC ,[o,1]):

o

>    RegPolyPlot  :=  proc( N )
  local k, n, ngon, c;
  ngon := n -> [seq([ cos(2*Pi*i/n), sin(2*Pi*i/n) ], i = 1..n)]:  
  c := n -> COLOR(RGB, .2+n/(2*N), .2+n/(2*N), .5);
  display([ seq( polygonplot(ngon(n), color=c(n)), n = 3..N)],
           scaling = constrained, axes = none);
end proc:

>    ngon := n -> [seq([ cos(2*Pi*i/n), sin(2*Pi*i/n) ], i = 1..n)]:
  

>    PolyVAPlot  :=  proc( N )
  local  c1, k, Poly, theta, theta2,scl;
  c1 := n -> COLOR(RGB, .2+n/(1*N), 0, .2+n/(1*N) );
  Poly := ngon(N):      scl := 1.2;
  for k from 1 to N do
    theta := 2*Pi*k/N; theta2 := theta  + Pi;
    VA||k := plot( [[cos(theta),sin(theta)],[scl*cos(theta2),scl*sin(theta2)]],
                                color=c1(k));
  od;
  display([ polygonplot(Poly,color=COLOR(RGB,.79,.76,.65 )),
            seq( VA||k, k=1..N)
          ],scaling = constrained, axes = none);
end proc:

>    PolySAPlot  :=  proc( N )
  local  c2,k,Poly,SA,theta,thetaB,theta2,theta2B,scl,x1,x2,y1,y2;
  c2 := n -> COLOR(RGB, .2+n/(2*N), .1+n/(2*N), .3 );
  Poly := ngon(N):       scl := 1.2;
  for k from 1 to N/2 do
    theta  := 2*Pi*k/N;        theta2  := theta + Pi;
    thetaB := 2*Pi*(k+1)/N;    theta2B := thetaB + Pi;
    x1 :=  scl*(cos(theta)  + cos(thetaB)  )/2;
    x2 :=  scl*(cos(theta2) + cos(theta2B) )/2;
    y1 :=  scl*(sin(theta)  + sin(thetaB)  )/2;
    y2 :=  scl*(sin(theta2) + sin(theta2B) )/2;

    SA||k := plot( [[x1,y1],[x2,y2]],  color=c2(k), linestyle = 3);
  od;
  display([ polygonplot(Poly,color=COLOR(RGB,.79,.76,.61 )),
            seq( SA||k, k=1..N/2)
          ],scaling = constrained, axes = none);
end proc:

>   

>    PolyAxesPlot  :=  proc( N )
  local  c1,c2, k, Poly,VA,SA, scl,
         theta,thetaB,theta2,theta2B,x1,x2,y1,y2;
  c1 := n -> COLOR(RGB, .2+n/(1*N), 0, .2+n/(1*N) );
  c2 := n -> COLOR(RGB, .2+n/(2*N), .1+n/(2*N), .3 );
  Poly := ngon(N):      scl := 1.2;
  for k from 1 to N do
    theta := 2*Pi*k/N; theta2 := theta  + Pi;
    VA||k := plot(  
                 [[cos(theta),sin(theta)],[scl*cos(theta2),scl*sin(theta2)]],
                 color=c1(k));
  od;
  if( (N mod 2) = 0) then
    for k from 1 to N/2 do
      theta  := 2*Pi*k/N;        theta2  := theta + Pi;
      thetaB := 2*Pi*(k+1)/N;    theta2B := thetaB + Pi;
      x1 :=  scl*(cos(theta)  + cos(thetaB)  )/2;
      x2 :=  scl*(cos(theta2) + cos(theta2B) )/2;
      y1 :=  scl*(sin(theta)  + sin(thetaB)  )/2;
      y2 :=  scl*(sin(theta2) + sin(theta2B) )/2;
      SA||k := plot( [[x1,y1],[x2,y2]],color=c2(k), linestyle = 3);
    od;
   display([ polygonplot(Poly,color=COLOR(RGB,.79,.76,.65 )),
            seq( VA||k, k=1..N), seq( SA||k, k=1..N/2)
          ],scaling = constrained, axes = none);
  else
    display([ polygonplot(Poly,color=COLOR(RGB,.79,.76,.65 )),
            seq( VA||k, k=1..N)
          ],scaling = constrained, axes = none);
  fi;
 
end proc:

>   

>    PolyMiniPlot  :=  proc( N )
  local  c2,k,Poly,SA,theta,thetaB,theta2,theta2B,scl,x1,x2,y1,y2;
  c2 := n -> COLOR(RGB, .2+n/(2*N), .3+n/(2*N),0 );
  Poly := ngon(N):      scl := 1.2;
  for k from 1 to N do
    theta := 2*Pi*k/N;        theta2  := theta + Pi;
    thetaB := 2*Pi*(k+1)/N;   theta2B := theta + Pi;
    x1 := (cos(theta)  + cos(thetaB)  )/2;
    x2 := (cos(theta2) + cos(theta2B) )/2;
    y1 := (sin(theta)  + sin(thetaB)  )/2;
    y2 := (sin(theta2) + sin(theta2B) )/2;

    SA||k := plot( [[x1,y1],[x2/2,y2/2]],  color=c2(k));
  od;
  display([ polygonplot(Poly,color=COLOR(RGB,.79,.76,.63 )),
            seq( SA||k, k=1..N)
          ],scaling = constrained, axes = none);
end proc:


PolyMiniPlot(6);

[Maple Plot]

>   

  1. Polígonos Regulares (revisão)


Polígonos regularese são polígonos onde todos os lados são iguais e todos os ângulos interiores são iguais. Um polígono regular de cinco lados é chamado de  pentágono.

>    RegularPolygon( RegPoly,5,o,1):
display( draw(RegPoly, scanft, cbl ));

[Maple Plot]


Se nós desenharmos um número de polígonos regulares no mesmo diagrama nós podemos ver a progressão. Aqui estão polígonos regulares com 3 a 10 lados, e depois 3 a 30 lados. Eles parecem preencher a unidade círculo mais e mais.

>    RegPolyPlot(6);

[Maple Plot]

>    RegPolyPlot(10);

[Maple Plot]

>    RegPolyPlot(25);

[Maple Plot]


 

  2. Eixos de Simetria :  Através de Vértices


Com um polígono regular, você pode escolher qualquer vértice, e desenhar uma linha através do vértice e do centro do polígono (o qual é o mesmo centro do círculo que poderia circunscrevê-lo), depois continuar a linha através do outro lado do polígono.

Se o número de lados é um número ímpar, então o lado oposto irá passar através de um lado.

>    PolyVAPlot(5);

[Maple Plot]

>    PolyVAPlot(7);

[Maple Plot]

>    PolyVAPlot(13);

[Maple Plot]


Então polígonos regulares tem um eixo de simetria para cada vértice. Um polígono de 129 lados terá 129 eixos de simetria desse tipo.

Se onúmero de lados é par, ele passará através do outro vértice.

>    PolyVAPlot(8);

[Maple Plot]

>    PolyVAPlot(12);

[Maple Plot]

>    PolyVAPlot(10);

[Maple Plot]


Isso significa que existe metade dos eixos deste tipo. Por exemplo um polígono com 12 lados terá 6 eixos que passarão através de vértices.

  3. Eixos de Simetria :  Através de Lados


O número de lados é par, existe também eixos de simetria que passam através de pontos centrais de lados. Não é um verdade para polígonos regulares com número de lados ímpares.

>    PolySAPlot(6);

[Maple Plot]

>    PolySAPlot(8);

[Maple Plot]

>    PolySAPlot(12);

[Maple Plot]

>    PolySAPlot(20);

[Maple Plot]


 

  4. Eixos de Simetria :  Todos os Eixos de Simetria


Como nós vimos acima  existe uma diferença para um polígono regular de n lados dependendo do fato de n ser par ou ímpar. Se n ié ímpar, existem n eixos de simetria - cada um deles passa através de um vértice e do lado oposto.

>    PolyAxesPlot(7);

[Maple Plot]

>    PolyAxesPlot(11);

[Maple Plot]



Por outro lado, se n é par, existem dois tipos de eixos de simetria - o  n/2 que passa através de dois vértices, e o n/2 o qual passa através de dois lados opostos - um total de n.

>    PolyAxesPlot(4);

[Maple Plot]

>    PolyAxesPlot(6);

[Maple Plot]

>    PolyAxesPlot(8);

[Maple Plot]

>    PolyAxesPlot(12);

[Maple Plot]

>    PolyAxesPlot(20);

[Maple Plot]

>   

>